Andremmo ad analizzare le iscrizioni universitarie nelle varie province italiane dal 2010 al 2022 in modo da poter rispondere alle domande:
Quali sono stati gli anni con il maggior numero di iscrizioni univeristarie?
Qual’è l’andamento nazionale e per singola provincia
Come sono ditribute le iscrizioni univesitarie in Italia?
Il dataset è stato creato dal unione e la rielaborazione di più datasets, ad ogni dataset è associato uno script per il carciamento e l’ elaborazione dei dati.
Il primo script elabora un dataset con il numero di iscritti universitari divisi per provincia italiana, il dataset di partenza è composto da Anno Accademico, Provincia, Sesso e numero di iscritti.
Lo script è in oltre composto da diverse funzioni utili per l’ estrazione dei dati:
if(!exists("foo", mode="function")) source("db_universita.r")
## Warning: il pacchetto 'dplyr' è stato creato con R versione 4.1.3
##
## Caricamento pacchetto: 'dplyr'
## I seguenti oggetti sono mascherati da 'package:stats':
##
## filter, lag
## I seguenti oggetti sono mascherati da 'package:base':
##
## intersect, setdiff, setequal, union
head(xResidenza)
## AnnoA IstatP ResidenzaP SESSO Isc
## 1 2021/2022 1 TORINO F 35766
## 2 2021/2022 1 TORINO M 29351
## 3 2021/2022 2 VERCELLI F 2237
## 4 2021/2022 2 VERCELLI M 1624
## 5 2021/2022 3 NOVARA F 4956
## 6 2021/2022 3 NOVARA M 3641
Andiamo ora ad analizzare il numero di iscritti selezionando ad esempio la provincia di udine:
library(dplyr)
library(ggplot2)
## Warning: il pacchetto 'ggplot2' è stato creato con R versione 4.1.3
iscrittiUD <- iscrittiByProvincia("UDINE")
(iscrittiUD)
## # A tibble: 12 x 3
## AnnoA ResidenzaP IscrittiTot
## <chr> <chr> <int>
## 1 2010/2011 UDINE 13117
## 2 2011/2012 UDINE 12700
## 3 2012/2013 UDINE 12245
## 4 2013/2014 UDINE 11999
## 5 2014/2015 UDINE 11867
## 6 2015/2016 UDINE 11998
## 7 2016/2017 UDINE 12324
## 8 2017/2018 UDINE 12579
## 9 2018/2019 UDINE 12800
## 10 2019/2020 UDINE 13229
## 11 2020/2021 UDINE 13775
## 12 2021/2022 UDINE 13904
iscrittiUD[which.max(iscrittiUD$IscrittiTot),]
## # A tibble: 1 x 3
## AnnoA ResidenzaP IscrittiTot
## <chr> <chr> <int>
## 1 2021/2022 UDINE 13904
iscrittiUD[which.min(iscrittiUD$IscrittiTot),]
## # A tibble: 1 x 3
## AnnoA ResidenzaP IscrittiTot
## <chr> <chr> <int>
## 1 2014/2015 UDINE 11867
ggplot(iscrittiUD,aes(y=AnnoA,x=IscrittiTot)) +
geom_col()+
geom_text(aes(label = IscrittiTot))
paste(("Media:"),mean(iscrittiUD$IscrittiTot) )
## [1] "Media: 12711.4166666667"
paste(("Varianza:"),var(iscrittiUD$IscrittiTot))
## [1] "Varianza: 464412.992424242"
Possiamo notare dal grafico che dal 2010 al 2015 le iscrizioni al univeristà in provincia di Udine sono scese fino a raggiugere il picco minimo nel anno accademico del 2014/2015, per poi ricominciare a salire nuovamente ogni anno di più fino a raggiugere il picco massimo proprio nello scorso anno accademico
iscritti2020MF <- iscrittiByAnno("2020/2021")
(iscritti2020MF)
## AnnoA IstatP ResidenzaP SESSO Isc
## 1 2020/2021 1 TORINO F 35199
## 2 2020/2021 1 TORINO M 29369
## 3 2020/2021 2 VERCELLI F 2235
## 4 2020/2021 2 VERCELLI M 1636
## 5 2020/2021 3 NOVARA F 4948
## 6 2020/2021 3 NOVARA M 3788
## 7 2020/2021 4 CUNEO F 7884
## 8 2020/2021 4 CUNEO M 5673
## 9 2020/2021 5 ASTI F 2843
## 10 2020/2021 5 ASTI M 2112
## 11 2020/2021 6 ALESSANDRIA F 5444
## 12 2020/2021 6 ALESSANDRIA M 4117
## 13 2020/2021 7 AOSTA F 1878
## 14 2020/2021 7 AOSTA M 1384
## 15 2020/2021 8 IMPERIA F 2475
## 16 2020/2021 8 IMPERIA M 1958
## 17 2020/2021 9 SAVONA F 3825
## 18 2020/2021 9 SAVONA M 2816
## 19 2020/2021 10 GENOVA F 13332
## 20 2020/2021 10 GENOVA M 10717
## 21 2020/2021 11 LA SPEZIA F 3335
## 22 2020/2021 11 LA SPEZIA M 2580
## 23 2020/2021 12 VARESE F 11996
## 24 2020/2021 12 VARESE M 9205
## 25 2020/2021 13 COMO F 7832
## 26 2020/2021 13 COMO M 5932
## 27 2020/2021 14 SONDRIO F 2075
## 28 2020/2021 14 SONDRIO M 1508
## 29 2020/2021 15 MILANO F 46898
## 30 2020/2021 15 MILANO M 39092
## 31 2020/2021 16 BERGAMO F 16094
## 32 2020/2021 16 BERGAMO M 11854
## 33 2020/2021 17 BRESCIA F 16860
## 34 2020/2021 17 BRESCIA M 12505
## 35 2020/2021 18 PAVIA F 7451
## 36 2020/2021 18 PAVIA M 5676
## 37 2020/2021 19 CREMONA F 4697
## 38 2020/2021 19 CREMONA M 3567
## 39 2020/2021 20 MANTOVA F 4733
## 40 2020/2021 20 MANTOVA M 3562
## 41 2020/2021 21 BOLZANO F 3936
## 42 2020/2021 21 BOLZANO M 2481
## 43 2020/2021 22 TRENTO F 8546
## 44 2020/2021 22 TRENTO M 6345
## 45 2020/2021 23 VERONA F 12744
## 46 2020/2021 23 VERONA M 10506
## 47 2020/2021 24 VICENZA F 12320
## 48 2020/2021 24 VICENZA M 9779
## 49 2020/2021 25 BELLUNO F 2607
## 50 2020/2021 25 BELLUNO M 2018
## 51 2020/2021 26 TREVISO F 12161
## 52 2020/2021 26 TREVISO M 10293
## 53 2020/2021 27 VENEZIA F 11135
## 54 2020/2021 27 VENEZIA M 9490
## 55 2020/2021 28 PADOVA F 14889
## 56 2020/2021 28 PADOVA M 12421
## 57 2020/2021 29 ROVIGO F 3024
## 58 2020/2021 29 ROVIGO M 2336
## 59 2020/2021 30 UDINE F 7617
## 60 2020/2021 30 UDINE M 6158
## 61 2020/2021 31 GORIZIA F 1848
## 62 2020/2021 31 GORIZIA M 1557
## 63 2020/2021 32 TRIESTE F 3540
## 64 2020/2021 32 TRIESTE M 3014
## 65 2020/2021 33 PIACENZA F 3880
## 66 2020/2021 33 PIACENZA M 2875
## 67 2020/2021 34 PARMA F 7008
## 68 2020/2021 34 PARMA M 5516
## 69 2020/2021 35 REGGIO EMILIA F 7362
## 70 2020/2021 35 REGGIO EMILIA M 5423
## 71 2020/2021 36 MODENA F 9755
## 72 2020/2021 36 MODENA M 7625
## 73 2020/2021 37 BOLOGNA F 15347
## 74 2020/2021 37 BOLOGNA M 12207
## 75 2020/2021 38 FERRARA F 4362
## 76 2020/2021 38 FERRARA M 3645
## 77 2020/2021 39 RAVENNA F 4912
## 78 2020/2021 39 RAVENNA M 3584
## 79 2020/2021 40 FORLI'-CESENA F 5327
## 80 2020/2021 40 FORLI'-CESENA M 4102
## 81 2020/2021 41 PESARO E URBINO F 5872
## 82 2020/2021 41 PESARO E URBINO M 4410
## 83 2020/2021 42 ANCONA F 8178
## 84 2020/2021 42 ANCONA M 6428
## 85 2020/2021 43 MACERATA F 5408
## 86 2020/2021 43 MACERATA M 4166
## 87 2020/2021 44 ASCOLI PICENO F 3942
## 88 2020/2021 44 ASCOLI PICENO M 3192
## 89 2020/2021 45 MASSA CARRARA F 2989
## 90 2020/2021 45 MASSA CARRARA M 2306
## 91 2020/2021 46 LUCCA F 6062
## 92 2020/2021 46 LUCCA M 4534
## 93 2020/2021 47 PISTOIA F 4402
## 94 2020/2021 47 PISTOIA M 3310
## 95 2020/2021 48 FIRENZE F 16238
## 96 2020/2021 48 FIRENZE M 13075
## 97 2020/2021 49 LIVORNO F 4758
## 98 2020/2021 49 LIVORNO M 3818
## 99 2020/2021 50 PISA F 7232
## 100 2020/2021 50 PISA M 5931
## 101 2020/2021 51 AREZZO F 5247
## 102 2020/2021 51 AREZZO M 3935
## 103 2020/2021 52 SIENA F 4266
## 104 2020/2021 52 SIENA M 3506
## 105 2020/2021 53 GROSSETO F 3014
## 106 2020/2021 53 GROSSETO M 2279
## 107 2020/2021 54 PERUGIA F 11622
## 108 2020/2021 54 PERUGIA M 8643
## 109 2020/2021 55 TERNI F 3654
## 110 2020/2021 55 TERNI M 2948
## 111 2020/2021 56 VITERBO F 5155
## 112 2020/2021 56 VITERBO M 3998
## 113 2020/2021 57 RIETI F 2813
## 114 2020/2021 57 RIETI M 2177
## 115 2020/2021 58 ROMA F 84849
## 116 2020/2021 58 ROMA M 69889
## 117 2020/2021 59 LATINA F 10538
## 118 2020/2021 59 LATINA M 8197
## 119 2020/2021 60 FROSINONE F 9157
## 120 2020/2021 60 FROSINONE M 7044
## 121 2020/2021 61 CASERTA F 21147
## 122 2020/2021 61 CASERTA M 15918
## 123 2020/2021 62 BENEVENTO F 6207
## 124 2020/2021 62 BENEVENTO M 4752
## 125 2020/2021 63 NAPOLI F 60096
## 126 2020/2021 63 NAPOLI M 48859
## 127 2020/2021 64 AVELLINO F 9736
## 128 2020/2021 64 AVELLINO M 7592
## 129 2020/2021 65 SALERNO F 23614
## 130 2020/2021 65 SALERNO M 18859
## 131 2020/2021 66 L'AQUILA F 6717
## 132 2020/2021 66 L'AQUILA M 5445
## 133 2020/2021 67 TERAMO F 6088
## 134 2020/2021 67 TERAMO M 4602
## 135 2020/2021 68 PESCARA F 6093
## 136 2020/2021 68 PESCARA M 4967
## 137 2020/2021 69 CHIETI F 7601
## 138 2020/2021 69 CHIETI M 5796
## 139 2020/2021 70 CAMPOBASSO F 4674
## 140 2020/2021 70 CAMPOBASSO M 3555
## 141 2020/2021 71 FOGGIA F 12603
## 142 2020/2021 71 FOGGIA M 9371
## 143 2020/2021 72 BARI F 23924
## 144 2020/2021 72 BARI M 19379
## 145 2020/2021 73 TARANTO F 10212
## 146 2020/2021 73 TARANTO M 8162
## 147 2020/2021 74 BRINDISI F 7075
## 148 2020/2021 74 BRINDISI M 5263
## 149 2020/2021 75 LECCE F 15774
## 150 2020/2021 75 LECCE M 12475
## 151 2020/2021 76 POTENZA F 8210
## 152 2020/2021 76 POTENZA M 6243
## 153 2020/2021 77 MATERA F 4215
## 154 2020/2021 77 MATERA M 3324
## 155 2020/2021 78 COSENZA F 15381
## 156 2020/2021 78 COSENZA M 11283
## 157 2020/2021 79 CATANZARO F 8359
## 158 2020/2021 79 CATANZARO M 6076
## 159 2020/2021 80 REGGIO CALABRIA F 12564
## 160 2020/2021 80 REGGIO CALABRIA M 8899
## 161 2020/2021 81 TRAPANI F 7815
## 162 2020/2021 81 TRAPANI M 5938
## 163 2020/2021 82 PALERMO F 21963
## 164 2020/2021 82 PALERMO M 18081
## 165 2020/2021 83 MESSINA F 12555
## 166 2020/2021 83 MESSINA M 9662
## 167 2020/2021 84 AGRIGENTO F 8998
## 168 2020/2021 84 AGRIGENTO M 6618
## 169 2020/2021 85 CALTANISSETTA F 5585
## 170 2020/2021 85 CALTANISSETTA M 4287
## 171 2020/2021 86 ENNA F 3391
## 172 2020/2021 86 ENNA M 2278
## 173 2020/2021 87 CATANIA F 21071
## 174 2020/2021 87 CATANIA M 16564
## 175 2020/2021 88 RAGUSA F 5370
## 176 2020/2021 88 RAGUSA M 4045
## 177 2020/2021 89 SIRACUSA F 6664
## 178 2020/2021 89 SIRACUSA M 5339
## 179 2020/2021 90 SASSARI F 8574
## 180 2020/2021 90 SASSARI M 6131
## 181 2020/2021 91 NUORO F 4325
## 182 2020/2021 91 NUORO M 2662
## 183 2020/2021 92 CAGLIARI F 7841
## 184 2020/2021 92 CAGLIARI M 6081
## 185 2020/2021 93 PORDENONE F 4246
## 186 2020/2021 93 PORDENONE M 3331
## 187 2020/2021 94 ISERNIA F 1666
## 188 2020/2021 94 ISERNIA M 1259
## 189 2020/2021 95 ORISTANO F 2785
## 190 2020/2021 95 ORISTANO M 1893
## 191 2020/2021 96 BIELLA F 2230
## 192 2020/2021 96 BIELLA M 1662
## 193 2020/2021 97 LECCO F 4896
## 194 2020/2021 97 LECCO M 3631
## 195 2020/2021 98 LODI F 3103
## 196 2020/2021 98 LODI M 2302
## 197 2020/2021 99 RIMINI F 4876
## 198 2020/2021 99 RIMINI M 3659
## 199 2020/2021 100 PRATO F 3551
## 200 2020/2021 100 PRATO M 2665
## 201 2020/2021 101 CROTONE F 3672
## 202 2020/2021 101 CROTONE M 2693
## 203 2020/2021 102 VIBO VALENTIA F 3525
## 204 2020/2021 102 VIBO VALENTIA M 2576
## 205 2020/2021 103 VERBANO CUSIO OSSOLA F 1899
## 206 2020/2021 103 VERBANO CUSIO OSSOLA M 1318
## 207 2020/2021 108 MONZA E BRIANZA F 12362
## 208 2020/2021 108 MONZA E BRIANZA M 9877
## 209 2020/2021 109 FERMO F 3008
## 210 2020/2021 109 FERMO M 2377
## 211 2020/2021 110 BARLETTA - ANDRIA - TRANI F 7458
## 212 2020/2021 110 BARLETTA - ANDRIA - TRANI M 5618
## 213 2020/2021 111 SUD SARDEGNA F 5544
## 214 2020/2021 111 SUD SARDEGNA M 3618
## 215 2020/2021 998 PROVINCIA ESTERA F 19707
## 216 2020/2021 998 PROVINCIA ESTERA M 19393
## 217 2020/2021 999 PROVINCIA NON DEFINITA F 334
## 218 2020/2021 999 PROVINCIA NON DEFINITA M 202
paste(("Media iscritti femmine:"),mean(filter(iscritti2020MF, iscritti2020MF$SESSO == 'F')$Isc) )
## [1] "Media iscritti femmine: 9440.8623853211"
paste(("Media iscritti maschi:"),mean(filter(iscritti2020MF, iscritti2020MF$SESSO == 'M')$Isc) )
## [1] "Media iscritti maschi: 7438.45871559633"
iscritti <- iscrittiTotPerAnno()
## `summarise()` has grouped output by 'AnnoA', 'ResidenzaP'. You can override
## using the `.groups` argument.
(iscritti)
## # A tibble: 1,308 x 3
## # Groups: AnnoA, ResidenzaP [1,308]
## AnnoA ResidenzaP IscrittiTot
## <chr> <chr> <int>
## 1 2010/2011 AGRIGENTO 15460
## 2 2010/2011 ALESSANDRIA 8899
## 3 2010/2011 ANCONA 14478
## 4 2010/2011 AOSTA 3283
## 5 2010/2011 AREZZO 9015
## 6 2010/2011 ASCOLI PICENO 7810
## 7 2010/2011 ASTI 4387
## 8 2010/2011 AVELLINO 19279
## 9 2010/2011 BARI 46544
## 10 2010/2011 BARLETTA - ANDRIA - TRANI 12336
## # ... with 1,298 more rows
#Anno e provincia con più iscrizioni
(iscritti[which.max(iscritti$IscrittiTot),])
## # A tibble: 1 x 3
## # Groups: AnnoA, ResidenzaP [1]
## AnnoA ResidenzaP IscrittiTot
## <chr> <chr> <int>
## 1 2020/2021 ROMA 154738
Il dataset residenti serve per poi calcolare la precentuale degli iscritti in modo da poter studiare il numero di iscrizioni relative alla popolazione delle province.
if(!exists("foo", mode="function")) source("db_residenti.r")
## `summarise()` has grouped output by 'AnnoA', 'ResidenzaP'. You can override
## using the `.groups` argument.
Il dataset è stato composto unendo un dataset con gli abitanti dal 2010 al 2019 e altri due dataset con gli iscritti del 2020 2021
View(abitantidb)
Da questo dataset calcoliamo poi le percentuali di iscritti per ogni provincia
percentualeIscritti <- iscrittiTotPercentuale()
Dopo aver costruito i vari dataset con le informazioni che ci servivano li uniamo in un solo dataset su cui fare le analisi.
if(!exists("foo", mode="function")) source("unioneDatasets.r")
## `summarise()` has grouped output by 'AnnoA', 'ResidenzaP'. You can override
## using the `.groups` argument.
## `summarise()` has grouped output by 'ResidenzaP', 'Totale_casi2020',
## 'Totale_casi2021'. You can override using the `.groups` argument.
## Warning: il pacchetto 'sf' è stato creato con R versione 4.1.3
## Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 7.2.1; sf_use_s2() is TRUE
## Warning: il pacchetto 'mapview' è stato creato con R versione 4.1.3
View(dbCompleto)
Il dataset completo è costiuito da Regione e Provincia, Anno Solare e Accademico, Iscrizioni universitari, Residenti nella provincia e numero di iscritti in percentuale.
db2010 <- dbCompletoPerAnno('2010/2011')
## [1] "2010/2011"
db2011 <- dbCompletoPerAnno('2011/2012')
## [1] "2011/2012"
db2012 <- dbCompletoPerAnno('2012/2013')
## [1] "2012/2013"
db2013 <- dbCompletoPerAnno('2013/2014')
## [1] "2013/2014"
db2014 <- dbCompletoPerAnno('2014/2015')
## [1] "2014/2015"
db2015 <- dbCompletoPerAnno('2015/2016')
## [1] "2015/2016"
db2016 <- dbCompletoPerAnno('2016/2017')
## [1] "2016/2017"
db2017 <- dbCompletoPerAnno('2017/2018')
## [1] "2017/2018"
db2018 <- dbCompletoPerAnno('2018/2019')
## [1] "2018/2019"
db2019 <- dbCompletoPerAnno('2019/2020')
## [1] "2019/2020"
db2020 <- dbCompletoPerAnno('2020/2021')
## [1] "2020/2021"
db2021 <- dbCompletoPerAnno('2021/2022')
## [1] "2021/2022"
anno <- c(
'2010',
'2011',
'2012',
'2013',
'2014',
'2015',
'2016',
'2017',
'2018',
'2019',
'2020',
'2021'
)
medie <- c(
round(mean(db2010$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2011$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2012$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2013$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2014$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2015$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2016$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2017$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2018$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2019$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2020$PercentIscritti, na.rm=TRUE),digits = 2),
round(mean(db2021$PercentIscritti, na.rm=TRUE),digits = 2))
dbMedie <- data.frame(anno, medie)
Creiamo ora un istogramma con le medie delle percentuali di iscrizioni delle varie province per capire se le iscrizioni negli ultimi 10 anni è aumentata o diminuità.
Come possiamo notare dal istogramma le iscrizioni in precentuale sono rimaste regolari, non sono aumentate o diminuite di molto, con un picco di iscrizioni nel 2020/2021.
ggplot(dbMedie,aes(y=medie,x=anno))+
geom_histogram(stat='identity',fill="lightblue")+
geom_text(aes(label = medie), vjust = 1.5, colour = "black")
## Warning in geom_histogram(stat = "identity", fill = "lightblue"): Ignoring
## unknown parameters: `binwidth`, `bins`, and `pad`
Per avere una visione più dinamica dei contenuti è stata creata una pagina web.
Vi sono due viste:
Istogramma del andamento delle iscirzioni per la provincia selezionata.
Mappa del italia con le percentuali delle province idicate da colore e raggio dei cerchi nel anno selezionato
Dalle mappe dei vari anni si può notare che la percentuale di isciritti al università è maggiore al sud rispetto che al nord.
Screen del sito nella vista georafica delle percentuali di iscritti
if(!exists("foo", mode="function")) source("app.r")
## Warning: il pacchetto 'shiny' è stato creato con R versione 4.1.3
## Warning: il pacchetto 'leaflet' è stato creato con R versione 4.1.3
## Warning: il pacchetto 'htmltools' è stato creato con R versione 4.1.3
Per l’ avvio del applicazione andare nel file e avviare l’ applicazione.